import { hideLoading,showLoading } from './utils'
import config from '@/settings'

/**
 * 上传
 * @param {String} url -上传接口
 * @param {Boolean} isLoading
 * @param {Object} file -文件信息 url-上传资源路径  name -文件名
 */
export const uploadFilePromise = ({url,isLoading, file,loadTip}) => {
    isLoading && showLoading(loadTip || '上传中...')
    return new Promise((resolve, reject) => {
        uni.uploadFile({
            url:url || config.upFileUrl,
            // 要上传文件资源的路径
            filePath: file.url,
            header: {
                "Authorization": uni.getStorageSync('token')
            },
            // 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
            name: 'file',
            // HTTP 请求中其他额外的 form data
            formData: {
                name: file.name
            },
            success: (res) => {
                resolve(res)
            },
            fail: (err) => {
                reject(err)
            },
            complete: () => {
                isLoading && hideLoading()
            }
        });
    })
}